home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************
- *
- * $Source: /unixb/home/unixlib/source/unixlib37/src/stdio/c/RCS/printf,v $
- * $Date: 1996/10/30 21:59:00 $
- * $Revision: 1.3 $
- * $State: Rel $
- * $Author: unixlib $
- *
- * $Log: printf,v $
- * Revision 1.3 1996/10/30 21:59:00 unixlib
- * Massive changes made by Nick Burret and Peter Burwood.
- *
- * Revision 1.2 1996/07/21 22:12:31 unixlib
- * CL_0001 Nick Burret
- * Improve memory handling. Remove C++ library incompatibilities.
- * Improve file stat routines.
- *
- * Revision 1.1 1996/04/19 21:32:42 simon
- * Initial revision
- *
- ***************************************************************************/
-
- static const char rcs_id[] = "$Id: printf,v 1.3 1996/10/30 21:59:00 unixlib Rel $";
-
- #include <stdlib.h>
- #include <stdarg.h>
- #include <stdio.h>
-
- __STDIOLIB__
-
- int
- vsprintf (register char *buf, register const char *format,
- register va_list ap)
- {
- return (__printf (buf, format, ap));
- }
-
- int
- vfprintf (register FILE * f, register const char *format, register va_list ap)
- {
- register int n;
-
- #ifdef __PARANOID
- /* __pbuf is not initialised in __stdioinit. Leave check here for safety. */
- if (!__pbuf)
- if (!(__pbuf = malloc (BUFSIZ << 1)))
- return (-1);
- #endif
-
- n = __printf (__pbuf, format, ap);
- if ((n = __fwrite (f, __pbuf, n)) < 0)
- return (-1);
-
- if (f->o_ptr > f->o_base && !!(f->flag & _IOLBF) && __flsbuf (-1, f) < 0)
- return (-1);
-
- return (n);
- }
-
- int
- vprintf (register const char *format, register va_list ap)
- {
- return (vfprintf (stdout, format, ap));
- }
-
- int
- sprintf (register char *buf, const char *format,...)
- {
- va_list ap;
- register int r;
-
- va_start (ap, format);
- r = vsprintf (buf, format, ap);
- va_end (ap);
-
- return (r);
- }
-
- int
- fprintf (register FILE * f, const char *format,...)
- {
- va_list ap;
- register int r;
-
- va_start (ap, format);
- r = vfprintf (f, format, ap);
- va_end (ap);
-
- return (r);
- }
-
- int
- printf (const char *format,...)
- {
- va_list ap;
- register int r;
-
- va_start (ap, format);
- r = vfprintf (stdout, format, ap);
- va_end (ap);
-
- return (r);
- }
-